1. Field of the Invention
This invention relates to alternate connection paths and more particularly relates to maintaining a redundant alternate connection path for lock attention data.
2. Description of the Related Art
A transaction processing system such as an airline reservation system, a credit card transaction processing system, or the like typically comprises a plurality of host systems or hosts such as mainframe computers, servers, and the like. The hosts access data in a common data store. The data store typically includes a plurality of storage devices such as hard disk drives, data caches, and the like. The hosts may access the data in the storage devices through a control unit. For example, a first host may request data from the control unit, and the control unit may retrieve the data from one or more storage devices. The first host may also transmit data to the control unit, and the control unit may write the data to one or more storage devices.
Each host communicates with the control unit through a connection path. Each connection path typically includes one or more physical communication channels such as a digital electronic communication bus, a digital optical communication bus, or the like. In addition, each connection path may include one or more logical control blocks, addresses, and the like for coordinating the transmission of digital messages between the host and the control unit.
Before the first host accesses data through the control unit, the first host typically requests that the data be locked. For example, the first host may request that specified data such as one or more rows in a data table, one or more tracks of a hard disk drive, or the like be locked. If the first host is granted the lock, the first host may access the specified data without a second host being allowed access the specified data. The first host has exclusive access to the specified data until the first host releases the lock.
If the second host requests a lock on the specified data while the first host holds the lock on the specified data, the second host will be not receive the lock. Instead the second host's lock request will be placed in a lock request queue. The second host may wait to process transactions until receiving the lock. After the first host has released the lock on the data, the control unit grants the next lock request in the lock request queue for the specified data. For example, after the first host releases the lock, the control unit may grant a lock on the specified data to the second host if the second host's request is the next request in the lock request queue. The control unit will transmit lock attention data to the second host to notify the second host of the granted lock request. The lock attention data may include a holder notification specifying the data for which the second host holds the lock. Upon receipt of the lock attention data, the second host may access the specified data.
Unfortunately, when a connection path between a host and the control unit fails, the host will not receive the lock attention data granting the host a lock on the specified data. As a result, the host will not access the specified data and release the lock on the specified data for another host. The host may not receive the lock attention data until the failed connection path is discovered and an alternate connection path is established. Until the alternate connection path is established, the lock request queue may continue to grow as additional hosts request locks on the specified data. Each requesting host may be idle while waiting for the lock attention data granting the lock on the specified data, slowing the performance of the transaction processing system. In addition, if the lock request queue grows to a sufficient length, the transaction processing system may require an extreme recovery action such as rebooting the system to allow transaction processing to resume.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that establish a redundant alternate connection path in addition to the primary connection path for communicating lock attention data to a host. Beneficially, such an apparatus, system, and method would assure the host received a holder notification even if the primary connection path fails.